const Koa = require("koa");
const fs = require("fs");
const Router = require("koa-router");
const koaviews = require("koa-views");
const koaBody = require("koa-body")
const koastatic = require("koa-static");
const jwt = require("jsonwebtoken");
const koajwt = require("koa-jwt");  //校验token是否正确
let city = require("./city.json")
let first = require("./first.json")
let lunbo2 = require("./lunbo2.json")
let pingtoutiao = require("./pingtoutiao.json")
let remenzhaoping=require("./remenzhaopin.json")
let lingyuelietou = require('./lingyuelietou.json')
let userdata = require("./userdata.json")
let user = require("./user.json")
const app = new Koa();
let router = new Router();
app.use(koaviews(__dirname+"/views"))
app.use(koastatic(__dirname+"/static"))
app.use(koaBody({multipart:true}));


// router.post("/getdata",async ctx=>{
//      let info = {}
   //   if(ctx.request.body.username=="张三"&&ctx.request.body.pwd=="123"){
   //      info.status=1;//成功就返回这个
   //      info.data="登录成功"; 
   //      let token = jwt.sign({//此步骤签发一个token返还给前端
   //         name:"这里是名字参数"
   //      },"my_token",{expiresIn:"2h"})//expiresIn过期时间
   //   //"my_token"是密文密码 很重要
   //      info.token=token//返还token数据
//         /*eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. 描述头信息 加密属性 
//         eyJuYW1lIjoi5ZCN5a2X5Y-C5pWwIiwiaWF0IjoxNjUzNjUzODkyLCJleHAiOjE2NTM2NjEwOTJ9.参数转码
//         hXd_0p3R8LHcCY5p4bGzXe5gKFKINv4QNQpIqiRegRE密钥*/ 
//      }else{
//         info.status=0;//失败就返回这个
//         info.data="用户名或者密码不存在"; 
//      }
//      ctx.body=info;//发送过来的数据用ctx.request.body接受
//      //再用ctx.body返还
//      // console.log(ctx.request.body);
//   });
router.get("/login",async ctx=>{//用户登录
   let loginname = ctx.query.username
   let loginpassword = ctx.query.password
   let info={}
   if(loginname&&loginpassword){
      let item = user.userinfos.filter(item=>item.username==loginname&&item.password==loginpassword)
      if(item.length){
         info.id=item[0].id
         let token = jwt.sign({name:"token"},"logintoken",{expiresIn:"2h"})
         info.token = token
         info.status=1
      }else{
         info.status=0
      }
      ctx.body = info
   }
})
router.get("/getuserdata",ctx=>{//接受请求的用户数据返还
   let id = ctx.query.id
   let returndata =userdata.userdata.filter(data=>data.id==id)
   
   // ctx.body=
   ctx.body=returndata
})
router.get("/getlunbo", async ctx=>{//轮播图数据请求
    //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致

    ctx.body=lunbo2
 })
 router.get("/getlietou", async ctx=>{//热门招聘数据请求
   //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
   ctx.body=remenzhaoping
})
router.get("/gettoutiao", async ctx=>{//聘头条数据请求
   //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
   ctx.body=pingtoutiao
})
router.get("/getlingyue", async ctx=>{//猎头数据请求
   //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
   let data = lingyuelietou.Data
   let getlingyue = JSON.parse(JSON.stringify(data)).splice(0,10)
   // console.log(getlingyue);
   ctx.body=getlingyue
})
router.get("/getcitys", async ctx=>{//城市数据请求
   //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
   ctx.body=city
})
router.get("/getcart",koajwt({secret:"my_token"}), async ctx=>{
     //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
     ctx.body=first
  })
router.get("/getnew",koajwt({secret:"my_token"}), async ctx=>{
   //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
   let newdata = JSON.parse(JSON.stringify(first)).splice(0,4)
   ctx.body=newdata
   // console.log(data);getone
})
router.get("/getone",koajwt({secret:"my_token"}), async ctx=>{
   let id =ctx.query.id
   let newdata=first.filter(item=>item.id==id)
   //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
   // console.log(newdata);
   ctx.body=newdata
})
// router.get("/getpage",koajwt({secret:"my_token"}), async ctx=>{
//    let p =ctx.query.p
//    if(p){
//       let newdata =JSON.parse(JSON.stringify(data)).splice((p-1)*4,4)
//       console.log(newdata);
//       ctx.body=newdata
//    }
// })
//   router.all("/addnew",async ctx=>{
//      console.log(ctx);
//      ctx.body = {info:111}
//   })

app.use(router.routes());
app.listen(8585);
